home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / a_utils / lgrammar / lgrammar.e < prev    next >
Text File  |  1994-06-14  |  4KB  |  139 lines

  1. HELP TEXT FOR LGRAMMAR
  2.  
  3. -----------------------------------------------------------------
  4.  
  5. 2D Turtle Symbols:
  6.  
  7. F  "forward with line drawing". Turtle moves in direction of its
  8.    orientation vector (head) for a fixed distance and draws a line
  9.  
  10. f  "forward without line drawing". Turtle moves in direction of its
  11.    orientation vector (head) for a fixed distance without drawing
  12.  
  13. +  Turtle turns left by a specified angle
  14.  
  15. -  Turtle turns right by a specified angle
  16.  
  17. [  "start branching" Push current turtle position and orientation 
  18.    on stack
  19.  
  20. ]  "terminate branching" Pop data from stack replacing current
  21.    turtle position and orientation
  22.  
  23. |  "flip" Turn turtle about 180 degree
  24.  
  25. '  Increment color index
  26.  
  27. `  Decrement color index
  28.  
  29. -----------------------------------------------------------------
  30.  
  31. 3D Turtle Symbols:
  32.  
  33. F  "forward with line drawing". Turtle moves in direction of its
  34.    orientation vector (head) for a fixed distance and draws a line.
  35.    Has no effect within a polygon '{ }' (see G)
  36.  
  37. f  "forward without line drawing". Turtle moves in direction of its
  38.    orientation vector (head) for a fixed distance without drawing
  39.    New position is recorded as a corner point within polygons '{ }'.
  40.  
  41. +  Turn turtle about axis 'up' by a specified angle
  42.  
  43. -  Turn turtle about axis 'up' by the negative of a specified angle
  44.  
  45. &  Turn turtle about axis 'left' by a specified angle 
  46.  
  47. ^  Turn turtle about axis 'left' by the negative of a specified angle
  48.  
  49. \  Turn turtle about axis 'head' by a specified angle
  50.  
  51. /  Turn turtle about axis 'head' by a specified angle
  52.  
  53. |  Turn turtle about axis 'up' by 180 degrees
  54.  
  55. [  "start branching" Push current turtle position and orientation 
  56.    on stack
  57.  
  58. ]  "terminate branching" Pop data from stack replacing current
  59.    turtle position and orientation
  60.  
  61. {  "start polygon" render a polygon, e.g. for a leaf
  62.  
  63. }  "terminate polygon"
  64.  
  65. .  Define a corner point within a polygon '{ }'
  66.  
  67. G  Corresponds to F within a polygon '{ }'
  68.  
  69. '  Increment color index
  70.  
  71. `  Decrement color index
  72.  
  73. -----------------------------------------------------------------
  74.  
  75. Enter a New Grammar:
  76.  
  77. 1st line: enter the axiom (a sequence of turtle symbols),
  78.           terminated by <RETURN>
  79.  
  80. further line: 
  81.           enter the production rules
  82.           rules have the following form
  83.               <left side>=<right side>
  84.           with
  85.           <linke Seite>  equals 1 turtle symbol
  86.           <rechte Seite> equals several turtle symbols
  87.  
  88. Accept the new grammar by pressing the OK button.
  89. Press the NEXT button to generate the next grammar derivative.
  90.  
  91. Any characters may be used as grammar symbols. Characters which do
  92. NOT have a predefined graphics meaning (e.g. F does, but E does not)
  93. are used for grammar derivation, but will not generate graphics
  94. themselves.
  95.  
  96. The values for LENGTH and ANGLE apply to all "F", "+", "-", and so on
  97. in a grammar. In order to have different length or angle values
  98. for individual symbols, these values may be specified after the
  99. symbol in sharp brackets, e.g.
  100.   +<45>  denotes turning left by 45 degrees, no matter what the global
  101.          value for ANGLE is
  102.   F[500] denotes drawing a line of length 500, no matter what the
  103.          global value for LENGTH is
  104.  
  105. -----------------------------------------------------------------
  106.  
  107. Stochastic Grammars
  108.  
  109. Using individual values as probabilities for a rule after the equal sign
  110. results in defining stochastic grammers. Here, is it allowed to have
  111. several rules for the same symbol, however, the sum of all probability
  112. values for this symbol has to be 1, e.g.:
  113.   F=<0.3> F+F
  114.   F=<0.7> F-F
  115.  
  116. -----------------------------------------------------------------
  117.  
  118. Literature
  119.  
  120. P. Prusinkiewicz, A. Lindenmayer:
  121. The SAlgorithmic Beauty of Plants
  122. Springer-Verlag, New York, 1990
  123.  
  124. Chr. Drabek (in German)
  125. Implementierung von L-Grammatiken zur Erzeugung von Graftalen
  126. Diplomarbeit no. 986, Univ. Stuttgart, Fakultaet Informatik, 1993
  127.  
  128. -----------------------------------------------------------------
  129.  
  130. Contact
  131.  
  132. Christine Drabek
  133. Thomas Braunl
  134. Univ. Stuttgart IPVR
  135. Breitwiesenstr. 20-22, D-70565 Stuttgart, Germany
  136. e-mail: braunl@informatik.uni-stuttgart.de
  137.  
  138.  
  139.